/*! lzy-regx，lvshoutao@126.com，2019-6-1 */
!function (e) {
    function t(a) {
        if (i[a]) return i[a].exports;
        var n = i[a] = {i: a, l: !1, exports: {}};
        return e[a].call(n.exports, n, n.exports, t), n.l = !0, n.exports
    }

    var i = {};
    t.m = e, t.c = i, t.d = function (e, i, a) {
        t.o(e, i) || Object.defineProperty(e, i, {configurable: !1, enumerable: !0, get: a})
    }, t.n = function (e) {
        var i = e && e.__esModule ? function () {
            return e.default
        } : function () {
            return e
        };
        return t.d(i, "a", i), i
    }, t.o = function (e, t) {
        return Object.prototype.hasOwnProperty.call(e, t)
    }, t.p = "", t(t.s = 0)
}([function (e, t, i) {
    i(1), i(2), i(3), i(4), i(5), i(6), i(7), i(8), i(9), i(10), i(11), e.exports = i(12)
}, function (e, t, i) {
    "use strict";

    function a() {
        this.caches = []
    }

    var n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
        return typeof e
    } : function (e) {
        return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e
    }, o = {
        convertToString: function (e) {
            var t = e.getMonth() + 1, i = t > 9 ? t : "0" + t, a = e.getDate(), n = a > 9 ? a : "0" + a,
                o = e.getHours(), l = o > 9 ? o : "0" + o, r = e.getMinutes(), s = r > 9 ? r : "0" + r,
                c = e.getSeconds(), d = c > 9 ? c : "0" + c;
            return e.getFullYear() + "-" + i + "-" + n + " " + l + ":" + s + ":" + d
        }, timeDiff: function (e, t) {
            var i = t.getTime() - e.getTime(), a = Math.floor(i / 864e5), n = i % 864e5, o = Math.floor(n / 36e5),
                l = n % 36e5, r = Math.floor(l / 6e4), s = l % 6e4;
            return {days: a, hours: o, minutes: r, seconds: Math.round(s / 1e3)}
        }, getPreMonth: function (e) {
            var t = e.split("-"), i = t[0], a = t[1], n = t[2], o = new Date(i, a, 0);
            o = o.getDate();
            var l = i, r = parseInt(a) - 1;
            0 == r && (l = parseInt(l) - 1, r = 12);
            var s = n, c = new Date(l, r, 0);
            return c = c.getDate(), s > c && (s = c), r < 10 && (r = "0" + r), l + "-" + r + "-" + s
        }, getNextMonth: function (e) {
            var t = e.split("-"), i = t[0], a = t[1], n = t[2], o = new Date(i, a, 0);
            o = o.getDate();
            var l = i, r = parseInt(a) + 1;
            13 == r && (l = parseInt(l) + 1, r = 1);
            var s = n, c = new Date(l, r, 0);
            return c = c.getDate(), s > c && (s = c), r < 10 && (r = "0" + r), l + "-" + r + "-" + s
        }
        , dateDifference: function (faultDate, completeTime) {
            // let d1 = new Date(faultDate);
            // let d2 = new Date(completeTime);
            var stime = new Date(faultDate).getTime();
            var etime = new Date(completeTime).getTime();
            var usedTime = etime - stime;  //两个时间戳相差的毫秒数
            if (usedTime <= 0) return -1;
            var days = Math.floor(usedTime / (24 * 3600 * 1000));
            //计算出小时数
            var leave1 = usedTime % (24 * 3600 * 1000);    //计算天数后剩余的毫秒数
            var hours = Math.floor(leave1 / (3600 * 1000));
            //计算相差分钟数
            var leave2 = leave1 % (3600 * 1000);        //计算小时数后剩余的毫秒数
            var minutes = Math.floor(leave2 / (60 * 1000));
            // var time = days + "天"+hours+"时"+minutes+"分";
            var time = days;
            return time;
        }
    };
    window.TimeUtil = o;
    var z = {
        deleteNull: function (e) {
            for (let key in e) {
                if (e[key] == 'null' || e[key] == null) {
                    e[key] = ""
                }
            }
            return e;
        },
        guid:function(len = 32, firstU = false, radix = null) {
            let chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');
            let uuid = [];
            radix = radix || chars.length;

            if (len) {
                // 如果指定uuid长度,只是取随机的字符,0|x为位运算,能去掉x的小数位,返回整数位
                for (let i = 0; i < len; i++) uuid[i] = chars[0 | Math.random() * radix];
            } else {
                let r;
                // rfc4122标准要求返回的uuid中,某些位为固定的字符
                uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';
                uuid[14] = '4';

                for (let i = 0; i < 36; i++) {
                    if (!uuid[i]) {
                        r = 0 | Math.random() * 16;
                        uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];
                    }
                }
            }
            // 移除第一个字符,并用u替代,因为第一个字符为数值时,该guuid不能用作id或者class
            if (firstU) {
                uuid.shift();
                return 'u' + uuid.join('');
            } else {
                return uuid.join('');
            }
        },
    };
    window.jsonUtil = z;
    var l = SiteConfig.webApi ? SiteConfig.webApi : "http://localhost:3000/", r = {
        call: function (e, t, i, a, n) {
            if (SiteConfig.cache && a && a.expire > 0) {
                var o = s.get(a.key);
                if (o) return {
                    success: function (e, t) {
                        null != t || null != n ? e(o, t | n) : e(o)
                    }
                }
            }
            return t = l + t, "Get" == e && i && (i.t = Math.random()), {
                success: function (o, l) {
                    var c = this;
                    return $.ajax({
                        url: t,
                        type: e,
                        dataType: "json",
                        data: i,
                        async: !0,
                        timeout: 60000,
                        crossDomain: !0,
                        cache: !1,
                        beforeSend: function (e) {
                            e.withCredentials = !0, e.setRequestHeader("uid", SiteConfig.account.uId), e.setRequestHeader("token", SiteConfig.account.accessToken)
                        },
                        success: function (e, t, i) {
                            if (e && e.state > 0) {
                                var c = e.errMsg;
                                c = c == '' ? '无数据' : c;
                                10009 != e.state && 10010 != e.state && 10012 != e.state && 10013 != e.state && 10014 != e.state || (c = "登录已失效，请重新登录，正在跳转到登录页面！", setTimeout(function () {
                                    r.goLoginPage()
                                }, 1e3)), Vue.prototype.$message({message: c, type: "error"})
                            }
                            a && a.expire > 0 && e && 0 == e.state && (a.value = e, s.set(a)), null != l || null != n ? o(e, l | n) : o(e)
                        },
                        error: function (e, t, i) {
                            var a = {status: e.status, statusText: e.statusText};
                            if (c.errorCall && !0 !== c.errorCall(a)) c.errorCall(a); else {
                                var n = "网络错误或接口无响应，请检查网络！";
                                "timeout" == (e.statusText || "") && (n = "请求已超时"), Vue.prototype.$message({
                                    message: n,
                                    type: "error"
                                })
                            }
                        }
                    }), this
                }, error: function (e) {
                    this.errorCall = e
                }
            }
        },
        get: function (e, t, i, a) {
            return i && !i.key && (i.key = e + (t ? JSON.stringify(t) : "") + SiteConfig.account.id), r.call("Get", "v1/" + e, t, i, a || 0 == a ? a : null)
        },
        getV2: function (e, t, i, a) {
            return i && !i.key && (i.key = e + (t ? JSON.stringify(t) : "") + SiteConfig.account.id), r.call("Get", "v2/" + e, t, i, a || 0 == a ? a : null)
        },
        post: function (e, t, i, a) {
            if (i && !i.key) {
                for (var n in t) if (t.hasOwnProperty(n) && t[n].length > 100) {
                    i = null;
                    break
                }
                i && (i.key = e + (t ? JSON.stringify(t) : "") + SiteConfig.account.id)
            }
            return r.call("POST", "v1/" + e, t, i, a || 0 == a ? a : null)
        }, postV2:function(e,t,i,a){
            if (i && !i.key) {
                for (var n in t) if (t.hasOwnProperty(n) && t[n].length > 100) {
                    i = null;
                    break
                }
                i && (i.key = e + (t ? JSON.stringify(t) : "") + SiteConfig.account.id)
            }
            return r.call("POST","V2/" + e, t, i, a || 0 == a ? a : null)
        },when: function (e, t) {
            var i = 0, a = new Array(e.length);
            return {
                success: function (t) {
                    for (var n = 0; n < e.length; n++) r.call(e[n].type, e[n].url, e[n].param, null, n).success(function (n, o) {
                        i++, a[o] = n, i == e.length && t(a)
                    })
                }
            }
        }, $whenfuc: function (e) {
            var t = 0, i = new Array(e.length);
            return {
                success: function (a) {
                    for (var n = 0; n < e.length; n++) e[n].success(function (n, o) {
                        t++, i[o] = n, t == e.length && a(i)
                    }, n)
                }
            }
        }, getQueryString: function (e) {
            var t = location.search.match(new RegExp("[?&]" + e + "=([^&]+)", "i"));
            return null == t || t.length < 1 ? "" : t[1]
        }, goPageBack: function () {
            parent.$("#ifrDetail").hide()
        }, goPageDialog: function (e) {
            parent.vuePageIndex.$refs.siteTab.openDialog(e)
        }, callPageMainfuc: function (e, t, i) {
            var a = parent.vuePageIndex.$refs.siteTab;
            if (a) try {
                a.getCurrContent()[e][t]()
            } catch (e) {
            } finally {
                i && a.closeDialog()
            }
        }, getUrlUpper: function () {
            var e = "", t = document.location.pathname;
            return /pages+\/[a-zA-Z0-9]+\/[a-zA-Z0-9]+\//.test(t) ? e = "../../../" : /pages+\/[a-zA-Z0-9]+\//.test(t) ? e = "../../../" : /pages+\/?/.test(t) && (e = "../"), e
        }, goLoginPage: function () {
            logout(), top.location.href = this.getUrlUpper() + "login.html"
        }
    };
    window.HttpUtil = r, a.prototype = {
        init: function () {
            var e = this, t = sessionStorage.getItem("lzyCache-keys");
            t && "{}" != t && "undefined" != t && (this.caches = JSON.parse(t)), setInterval(function () {
                for (var t = (new Date).getTime(), i = !1, a = e.caches.length; a--;) {
                    var n = e.caches[a];
                    n.expire + n.create < t && (sessionStorage.removeItem(n.key), e.caches.splice(a, 1), i = !0)
                }
                i && sessionStorage.setItem("lzyCache-keys", JSON.stringify(this.caches))
            }, 1e3), window.$LzyCache = this
        }, set: function (e) {
            if ("object" == n(e.value) && (e.value = JSON.parse(JSON.stringify(e.value))), e.level = e.level || 1, e.expire = e.expire || 12e5, e.create = (new Date).getTime(), e.key && "" != e.key) {
                for (var t = -1, i = 0; i < this.caches.length; i++) if (this.caches[i].key == e.key) {
                    t = i;
                    break
                }
                t > -1 ? this.caches[t].expire = e.expire : this.caches.push({
                    key: e.key,
                    expire: e.expire,
                    create: e.create,
                    level: e.level
                });
                try {
                    sessionStorage.setItem(e.key, JSON.stringify(e.value)), sessionStorage.setItem("lzyCache-keys", JSON.stringify(this.caches))
                } catch (e) {
                }
            } else for (var a = 0; a < this.caches.length; a++) this.caches[a].level == e.level && (this.caches[a].expire = e.expire)
        }, get: function (e) {
            var t = sessionStorage.getItem(e);
            return t && "undefined" != t ? JSON.parse(t) : null
        }, remove: function (e, t) {
            if (e && sessionStorage.removeItem(e), t) {
                for (var i = !1, a = 0; a < this.caches.length; a++) this.caches[a].level == t && (sessionStorage.removeItem(this.caches[a].key), this.caches.splice(a, 1), i = !0);
                i && sessionStorage.setItem("lzyCache-keys", JSON.stringify(this.caches))
            }
        }
    }, !(top.location != self.location) && (new a).init();
    var s = window.$LzyCache, c = 0;
    if (!s) {
        var d = function (e, t) {
            for (; e != t && c < 10;) t = e, e = e.parent, c++;
            return t
        }(window.parent, window);
        s = window.$LzyCache = d.$LzyCache
    }
    var h = {
        resizeTime: null, processResize: function (e) {
            for (var t in e.$refs) e.$refs.hasOwnProperty(t) && e.$refs[t].onresize && e.$refs[t].onresize()
        }, addCompOnresize: function (e) {
            var t = this;
            window.onresize = function () {
                clearTimeout(t.resizeTime), t.resizeTime = setTimeout(function () {
                    t.processResize(e)
                }, 200)
            }
        }
    };
    window.LzyEvent = h
}, function (e, t, i) {
    "use strict";
    Vue.component("site-menu", {
        template: '<el-scrollbar id="site-menu" v-bind:style="{height:height}"><el-menu>                <template v-for="item in menus">                    <el-submenu :index="item.index" v-if="item.child && item.child.length>0">                        <template slot="title">                            <i class="icon iconfont" :class="item.icon" v-if="item.icon"></i>                            <span>{{item.name}}</span>                        </template>                        <template v-for="it1 in item.child">                            <template v-if="it1.child && it1.child.length>0">                                <el-submenu :index="it1.index">                                    <template slot="title">{{it1.name}}</template>                                    <el-menu-item v-for="it2 in it1.child" :index="it2.index"><a @click="onGoPage(it2)">{{it2.name}}</a></el-menu-item>                                </el-submenu>                            </template>                            <template v-if="!it1.child || it1.child.length==0">                                <el-menu-item :index="it1.index"><a @click="onGoPage(it1)">{{it1.name}}</a></el-menu-item>                            </template>                        </template>                    </el-submenu>                    <el-menu-item :index="item.index" v-if="!item.child || item.child.length==0">                        <i class="icon iconfont" :class="item.icon" v-if="item.icon"></i>                        <span slot="title"><a  @click="onGoPage(item)">{{item.name}}</a></span>                    </el-menu-item>                </template>            </el-menu></el-scrollbar>',
        data: function () {
            return {height: "500px", menus: []}
        },
        methods: {
            onGoPage: function (e) {
                this.$emit("click-menu", {title: e.name, url: e.url})
            }, onresize: function () {
                this.height = document.body.offsetHeight - 108 + "px"
            }
        },
        created: function () {
            this.menus = SiteConfig.menu, this.$nextTick(function () {
                this.height = document.body.offsetHeight - 108 + "px"
            })
        },
        mounted: function () {
        }
    })
}, function (e, t, i) {
    "use strict";
    Vue.component("site-header", {
        props: {title: String, user: Object},
        template: '<div id="site-header">     ' +
            '<div class="logo"> ' +
            // '<img src="imgs/ntlogo.png">'+
            ' <img :src="userr.companyLogo" />' +
            '<div class="cn_title"><div style="letter-spacing:2px;">智慧校园安全防范平台</div><div class="en_title">Smart School Scurity System</div>' +
            '</div>' +
            '</div>' +
            '<div class="title">' +
            '<div class="item">' +
            '<a href="javascript:;" v-on:click="homePage()">' +
            '<p style="margin:4px 0px;text-align: center;"><i class="icon iconfont icon-home"></i></p>' +
            '<p style=" margin: 0;color: aliceblue;">首页 </p>' +
            '</a>' +
            '</div>  ' +
            '<div class="item">' +
            '<a href="javascript:;" v-on:click="safeMenu()">' +
            '<p style="margin:4px 0px;text-align: center"><i class="icon iconfont icon-safe"></i></p>' +
            '<p style=" margin: 0;color: aliceblue;">安全管理</p>' +
            '</a>' +
            '</div>  ' +
            '<div class="item">' +
            '<a href="javascript:;" v-on:click="broadcastMenu()">' +
            '<p style="margin:4px 0px;text-align: center;"><i class="icon iconfont icon-monitor"></i></p>' +
            '<p style=" margin: 0;color: aliceblue;">安全广播 </p>' +
            '</a>' +
            '</div>  ' +
            '<div class="item">' +
            '<a v-on:click="emergencyMenu()">' +
            '<p style="margin:4px 0px;text-align: center"><i class="icon iconfont icon-baojing"></i></p>' +
            '<p style=" margin: 0;color: aliceblue;">应急管理</p>' +
            '</a>' +
            '</div>  ' +
            '<div class="item">' +
            '<a v-on:click="syfMenu()">' +
            '<p style="margin:4px 0px;text-align: center"><i class="icon iconfont icon-shuangcengyukong"></i></p>' +
            '<p style=" margin: 0;color: aliceblue;">双重预防</p>' +
            '</a>' +
            '</div>  ' +
            '<div class="item">' +
            '<a v-on:click="eduMenu()">' +
            '<p style="margin:4px 0px;text-align: center"><i class="icon iconfont icon-report"></i></p>' +
            '<p style=" margin: 0;color: aliceblue;">安全台账</p>' +
            // 安全信息
            '</a>' +
            '</div>  ' +
            '<div class="item">' +
            '<a href="javascript:;" v-on:click="fillMenu()">' +
            '<p style="margin:4px 0px;text-align: center;"><i class="icon iconfont icon-report"></i></p>' +
            '<p style=" margin: 0;color: aliceblue;">安全填报 </p>' +
            '</a>' +
            '</div>  ' +
            '<div class="item">' +
            '<a href="javascript:;" v-on:click="dataScreen()">' +
            '<p style="margin:4px 0px;text-align: center;"><i class="icon iconfont icon-ele-ana"></i></p>' +
            '<p style=" margin: 0;color: aliceblue;">可视化大屏 </p>' +
            '</a>' +
            '</div>  ' +

            '<span class="move"></span>' +
            '</div> ' +
            ' <div class="right">' +
            '<a v-on:click="gomsg()"> ' +
            '<el-badge :value="msgCount" class="item alarm" >' +
            '<i class="el-icon-message"></i> ' +
            '</el-badge>' +
            '</a>' +
            '<a v-on:click="gopage()">   ' +
            '<el-badge :value="errorCount" class="item alarm" >' +
            '<i class="el-icon-bell"></i> ' +
            '</el-badge>' +
            '</a>' +
            '<div class="item">' +
            '<el-popover placement="bottom" width="100"  trigger="click">' +
            '<p style="border-bottom:solid 1px #f0f0f0;padding: 10px 0;margin: 0;">主题</p>' +
            '<p v-on:click="skinChange(1)" style="width: 100%;background: linear-gradient(45deg, #0081ff, #1cbbb4);color:#fff;cursor: pointer;margin: 5px 0;">炫彩蓝</p>' +
            '<p v-on:click="skinChange(2)" style="width: 100%;background: #1cbbb4;color:#fff;cursor: pointer;margin: 0">天青色</p>' +
            ' <a slot="reference"><i class="el-icon-menu" style="font-size: 26px;color:mintcream"></i></a>  </el-popover>       ' +
            '</div>  ' +
            ' <div class="item"> ' +
            ' <el-popover                       ' +
            '         placement="bottom"             ' +
            '                   width="100"                                trigger="click">            ' +
            '                    <div class="header-user">                            ' +
            '    <p class="name">{{userr.name}}</p>                     ' +
            '           <a v-on:click="changePwd()">修改密码</a><br/>            ' +
            '                    <a v-on:click="logout()">注销登录</a>             ' +
            '                   </div>                                <a slot="reference">' +
            '<i class="icon iconfont icon-user"></i></a>           ' +
            '                 </el-popover>                ' +
            '        </div>                    </div>                </div>',
        data: function () {
            return {userr: SiteConfig.account, errorCount: 0, skinType: 2, msgCount: 0}
        },
        methods: {
            gopage: function () {
                if (SiteConfig.account.roleId == 1 || SiteConfig.account.roleId == 10) {

                }
                else {
                    this.$root.onClickMenu({title: '预警分析', url: 'pages/prevention/warning-manage/alarm-list.html'})
                }
            },
            gomsg: function () {
                this.$root.onClickMenu({title: '收件箱', url: 'pages/prevention/notice-manage/revice-notice.html',})
            },
            skinChange: function (val) {
                this.skinType = val;
                switch (val) {
                    case 1:
                        $('.el-aside').css('background-color', '#222d32');
                        $('#site-menu .el-submenu__title').css('color', '#b8c7ce');
                        $('#site-menu .el-menu-item a').css('color', '#b8c7ce');
                        $('#site-menu .el-menu-item .is-active a').css('color', '#409EFF')
                        $('.el-header').css('background', 'linear-gradient(45deg, #0081ff, #1cbbb4)');
                        break;
                    case 2:
                        $('.el-header').css('background', '#1cbbb4');
                        $('.el-aside').css('background-color', 'ghostwhite');
                        $('#site-menu .el-submenu__title').css('color', 'black');
                        $('#site-menu .el-menu-item a').css('color', 'black');
                        $('#site-menu .el-menu-item .is-active a').css('color', '#409EFF')
                        break;
                }
            },
            homePage: function () {
                this.$root.onClickMenu({title: '系统首页', url: 'pages/prevention/main.html'})
            },
            dataScreen: function () {
                window.open('pages/prevention/visual/school/school_visual.html')
            },
            safeMenu: function () {
                $('.move').css('left', "270px");
                SiteConfig.menu = SiteConfig.Menu_Safe;
                sessionStorage.setItem('user-menu', JSON.stringify(SiteConfig.menu));
                this.$root.refreshMenu();
                setTimeout(() => {
                    this.skinChange(this.skinType);
                }, 10)
            },
            broadcastMenu: function () {
                $('.move').css('left', "350px");
                SiteConfig.menu = SiteConfig.Menu_broadcast;
                sessionStorage.setItem('user-menu', JSON.stringify(SiteConfig.menu));
                this.$root.refreshMenu();
                setTimeout(() => {
                    this.skinChange(this.skinType);
                }, 10)
            },
            emergencyMenu: function () {
                $('.move').css('left', "430px");
                SiteConfig.menu = SiteConfig.Menu_Emergency;
                sessionStorage.setItem('user-menu', JSON.stringify(SiteConfig.menu));
                this.$root.refreshMenu();
                setTimeout(() => {
                    this.skinChange(this.skinType);
                }, 10)
            },
            syfMenu: function () {
                $('.move').css('left', "508px");
                SiteConfig.menu = SiteConfig.Menu_syf;
                sessionStorage.setItem('user-menu', JSON.stringify(SiteConfig.menu));
                this.$root.refreshMenu();
                setTimeout(() => {
                    this.skinChange(this.skinType);
                }, 10)
            },
            eduMenu: function () {
                $('.move').css('left', "586px");
                SiteConfig.menu = SiteConfig.Menu_edu;
                sessionStorage.setItem('user-menu', JSON.stringify(SiteConfig.menu));
                this.$root.refreshMenu();
                setTimeout(() => {
                    this.skinChange(this.skinType);
                }, 10)
            },
            fillMenu: function () {
                $('.move').css('left', "665px");
                SiteConfig.menu = SiteConfig.Menu_fill;
                sessionStorage.setItem('user-menu', JSON.stringify(SiteConfig.menu));
                this.$root.refreshMenu();
                setTimeout(() => {
                    this.skinChange(this.skinType);
                }, 10)
            },
            changePwd: function () {
                this.$root.dialogFormVisible = true;
            },
            refreshPage: function () {
                this.$root.refreshPages();
            },
            add: function (e) {
                e && (e.preventDefault(), this.users.push(e.target.tagName))
            }, toggleFull: function () {
                this.$root.toggleFull()
            }, logout: function (e) {
                function t() {
                    return e.apply(this, arguments)
                }

                return t.toString = function () {
                    return e.toString()
                }, t
            }(function () {
                logout().success(function () {
                    location.href = "login.html"
                })
            })
        },
        created: function () {
            this.userr.name = SiteConfig.account.userName,
                this.userr.companyLogo = this.userr.companyLogo || SiteConfig.account.companyLogo,
                this.userr.screen = SiteConfig.account.roleId == 1 ? 'pages/gover/data-screen/index2.html' : SiteConfig.account.roleId == 10 ? 'pages/gover/data-screen/index.html' : 'pages/prevention/user-visual/index.html',

                HttpUtil.get('Error/Count', {ProcessFlag: 0}).success((res) => {
                    if (res.data.length != 0) {
                        this.errorCount = res.data[0].alarmCount;
                    }
                })
            HttpUtil.get('CompanyBbs/userBbsList', {UserId: SiteConfig.account.id, flag: 0}).success((r) => {
                if (r.data.length != 0) {
                    this.msgCount = r.total;
                }

            })
        }
    })
}, function (e, t, i) {
    "use strict";
    Vue.component("dev-tree", {
        props: {ischeckbox: Boolean, checkboxdisb: String, expandid: Number, tabsign: String, energy: String},
        template: '<div id="site-tree">                <div id="tree-container" class="tree-container" v-bind:style="{width:width+\'px\'}">                    <div class="tree-inner" v-bind:style="{height:height+\'px\'}">                        <el-tabs v-model="tabName">                            <el-tab-pane label="区域" name="area" v-if="tabSign.area">                                <el-tree                                     :show-checkbox="ischeckbox"                                    :check-strictly="true"                                    :default-expanded-keys="recurIds"                                    :default-checked-keys="checkedIds"                                    :expand-on-click-node="false"                                    :data="areaTreeData"                                    :props="treeProps"                                    :load="loadNodeArea"                                    lazy                                    node-key="id"                                    highlight-current="true"                                    ref="areatree"                                    @check-change="onNodeCheck"                                    @node-expand="onNodeClick"                                    @node-click="onNodeClick">                                    <span class="custom-tree-node" slot-scope="{ node, data }">                                        <span>                                            <i :class="data.icon"></i>{{data.text}}                                        </span>                                    </span>                                </el-tree>                            </el-tab-pane>                            <el-tab-pane label="部门" name="depart" v-if="tabSign.depart">                                <el-tree                                     :show-checkbox="ischeckbox"                                    :check-strictly="true"                                    :default-expanded-keys="recurIds"                                    :default-checked-keys="checkedIds"                                    :expand-on-click-node="false"                                    :data="departTreeData"                                    :props="treeProps"                                    :load="loadNodeDepart"                                    lazy                                    node-key="id"                                    highlight-current="true"                                    ref="departtree"                                    @check-change="onNodeCheck"                                    @node-expand="onNodeClick"                                    @node-click="onNodeClick">                                    <span class="custom-tree-node" slot-scope="{ node, data }">                                        <span>                                            <i :class="data.icon"></i>{{data.text}}                                        </span>                                    </span>                                </el-tree>                            </el-tab-pane>                            <el-tab-pane label="分项" name="sub" v-if="tabSign.sub">                                <el-tree                                     :show-checkbox="ischeckbox"                                    :check-strictly="true"                                    :default-expanded-keys="recurIds"                                    :default-checked-keys="checkedIds"                                    :expand-on-click-node="false"                                    :data="subTreeData"                                    :props="treeProps"                                    :load="loadNodeSub"                                    lazy                                    node-key="id"                                    highlight-current="true"                                    ref="departtree"                                    @check-change="onNodeCheck"                                    @node-expand="onNodeClick"                                    @node-click="onNodeClick">                                    <span class="custom-tree-node" slot-scope="{ node, data }">                                        <span>                                            <i :class="data.icon"></i>{{data.text}}                                        </span>                                    </span>                                </el-tree>                            </el-tab-pane>                            <el-tab-pane :label="tabX.label" name="x" v-if="tabSign.x">                                <el-tree                                     :show-checkbox="ischeckbox"                                    :check-strictly="true"                                    :default-expanded-keys="recurIds"                                    :default-checked-keys="checkedIds"                                    :expand-on-click-node="false"                                    :data="xTreeData"                                    :props="treeProps"                                    :load="loadNodeX"                                    lazy                                    node-key="id"                                    highlight-current="true"                                    ref="xtree"                                    @check-change="onNodeCheck"                                    @node-expand="onNodeClick"                                    @node-click="onNodeClick">                                    <span class="custom-tree-node" slot-scope="{ node, data }">                                        <span>                                            <i :class="data.icon"></i>{{data.text}}                                        </span>                                    </span>                                </el-tree>                            </el-tab-pane>                        </el-tabs>                    </div>                </div>            </div>',
        data: function () {
            return {
                treeProps: {label: "text", children: [], isLeaf: "isLeaf"},
                areaDatas: [],
                areaTreeData: [],
                departDatas: [],
                departTreeData: [],
                subDatas: [],
                subTreeData: [],
                xDatas: [],
                xTreeData: [],
                recurId: 0,
                recurIds: [],
                checkedIds: [],
                tabSign: {area: !0, depart: !0, sub: !0, x: !0},
                tabX: {label: "", level: 0},
                height: 500,
                width: 250,
                tabName: "area"
            }
        },
        methods: {
            onNodeCheck: function (e) {
                var t = void 0;
                switch (this.tabName) {
                    case"area":
                        t = this.$refs.areatree;
                        break;
                    case"depart":
                        t = this.$refs.departtree;
                        break;
                    case"sub":
                        t = this.$refs.subtree;
                        break;
                    case"x":
                        t = this.$refs.xtree
                }
                var i = t.getCheckedNodes();
                this.$emit("check-node", i)
            }, onNodeClick: function (e) {
                this.$emit("click-node", e)
            }, loadNodeArea: function (e, t) {
                if (0 != e.level) return t(this.getChilds(e.data.id, this.areaDatas));
                var i = this;
                this.loadTreeDatas(2).success(function (e) {
                    return i.areaDatas = e, i.areaTreeData = i.getChilds(e[0].pId, i.areaDatas), i.expandid && i.expandid > 0 && (i.recursionToRoot(i.expandid, e), setTimeout(function () {
                        i.$refs.areatree.setCurrentKey(i.expandid)
                    }, 1e3)), t(i.areaTreeData)
                })
            }, loadNodeDepart: function (e, t) {
                if (0 != e.level) return t(this.getChilds(e.data.id, this.departDatas));
                var i = this;
                this.loadTreeDatas(0).success(function (e) {
                    return i.departDatas = e, i.departTreeData = i.getChilds(e[0].pId, i.departDatas), i.expandid && i.expandid > 0 && (i.recursionToRoot(i.expandid, e), setTimeout(function () {
                        i.$refs.departtree.setCurrentKey(i.expandid)
                    }, 1e3)), t(i.departTreeData)
                })
            }, loadNodeSub: function (e, t) {
                if (0 != e.level) return t(this.getChilds(e.data.id, this.subDatas));
                var i = this;
                this.loadTreeDatas(1).success(function (e) {
                    return i.subDatas = e, i.subTreeData = i.getChilds(e[0].pId, i.subDatas), i.expandid && i.expandid > 0 && (i.recursionToRoot(i.expandid, e), setTimeout(function () {
                        i.$refs.subtree.setCurrentKey(i.expandid)
                    }, 1e3)), t(i.subTreeData)
                })
            }, loadNodeX: function (e, t) {
                if (0 != e.level) return t(this.getChilds(e.data.id, this.xDatas));
                var i = this;
                this.loadTreeDatas(this.tabX.level, 3).success(function (e) {
                    return i.xDatas = e, i.xTreeData = i.getChilds(e[0].pId, i.xDatas), i.expandid && i.expandid > 0 && (i.recursionToRoot(i.expandid, e), setTimeout(function () {
                        i.$refs.xtree.setCurrentKey(i.expandid)
                    }, 1e3)), t(i.xTreeData)
                })
            }, getChilds: function (e, t) {
                var i = [], a = !0, n = !1, o = void 0;
                try {
                    for (var l, r = t[Symbol.iterator](); !(a = (l = r.next()).done); a = !0) {
                        var s = l.value;
                        if (s.pId == e) {
                            var c = !0, d = !0, h = !1, u = void 0;
                            try {
                                for (var p, m = t[Symbol.iterator](); !(d = (p = m.next()).done); d = !0) {
                                    if (p.value.pId == s.id) {
                                        c = !1;
                                        break
                                    }
                                }
                            } catch (e) {
                                h = !0, u = e
                            } finally {
                                try {
                                    !d && m.return && m.return()
                                } finally {
                                    if (h) throw u
                                }
                            }
                            var f = !1, g = "", v = s.id.substr(0, 1).toLowerCase();
                            switch (this.checkboxdisb && this.checkboxdisb.indexOf(v) > -1 && (f = !0), v) {
                                case"u":
                                    g = "el-icon-service";
                                    break;
                                case"p":
                                    g = "el-icon-menu";
                                    break;
                                case"z":
                                    g = "el-icon-news";
                                    break;
                                case"d":
                                    g = "el-icon-setting"
                            }
                            i.push({
                                id: s.id,
                                text: s.name,
                                isLeaf: c,
                                children: [],
                                dataId: s.dataId,
                                attributes: s.attributes,
                                disabled: f,
                                icon: g
                            })
                        }
                    }
                } catch (e) {
                    n = !0, o = e
                } finally {
                    try {
                        !a && r.return && r.return()
                    } finally {
                        if (n) throw o
                    }
                }
                return i
            }, recursionToRoot: function (e, t) {
                var i = !0, a = !1, n = void 0;
                try {
                    for (var o, l = t[Symbol.iterator](); !(i = (o = l.next()).done); i = !0) {
                        var r = o.value;
                        if (r.id == e) {
                            this.recurIds.unshift(r.id), r.pId && 0 != r.pId ? this.recursionToRoot(r.pId, t) : !0;
                            break
                        }
                    }
                } catch (e) {
                    a = !0, n = e
                } finally {
                    try {
                        !i && l.return && l.return()
                    } finally {
                        if (a) throw n
                    }
                }
            }, loadTreeDatas: function (e, t) {
                var i = [], a = {
                    UserId: SiteConfig.account.id,
                    level: e,
                    zoneType: t || 0,
                    energyType: this.energy || "Electric"
                };
                return {
                    success: function (e) {
                        HttpUtil.get("User/getUserTree", a).success(function (t) {
                            for (var a = t.data, n = 0; n < a.length; n++) i.push({
                                id: a[n].Id,
                                name: a[n].Text,
                                pId: a[n].ParentId,
                                type: a[n].Type,
                                dataId: "D" === a[n].Id.substr(0, 1) ? a[n].attributes.deviceId : a[n].Id.substr(2),
                                attributes: a[n].attributes
                            });
                            e(i)
                        })
                    }
                }
            }, onresize: function () {
                this.height = document.getElementById("site-tree").offsetHeight - 50, this.width = document.getElementById("site-tree").clientWidth - 2
            }
        },
        created: function () {
            var e = this;
            if (this.tabsign) {
                for (var t in this.tabSign) this.tabSign.hasOwnProperty(t) && (this.tabSign[t] = !1);
                this.tabsign.split("").forEach(function (t, i) {
                    var a = void 0;
                    "z" == t ? a = "area" : "b" == t ? a = "depart" : "s" == t ? a = "sub" : "u" == t ? (a = "x", e.tabX = {
                        level: 0,
                        label: "用户"
                    }) : "p" == t ? (a = "x", e.tabX = {
                        level: 1,
                        label: "项目"
                    }) : "d" == t && (a = "x", e.tabX = {
                        level: 2,
                        label: "设备"
                    }), e.tabSign[a] = !0, 0 == i && (e.tabName = a)
                })
            }
            this.$nextTick(function () {
                this.height = document.getElementById("tree-container").offsetHeight - 50, this.width = document.getElementById("site-tree").clientWidth - 2
            })
        },
        mounted: function () {
        }
    })
}, function (e, t, i) {
    "use strict";
    Vue.component("chart-elex", {
        props: {option: Object, colnames: Object, coldatas: Object, showtable: Boolean},
        template: '<div class="chart-wrap">                <div class="bar">                    <span class="glyphicon glyphicon-stats" v-on:click="toggle(1)" v-if="showtable"></span>                    <span class="glyphicon glyphicon-th-list" v-on:click="toggle(2)" v-if="showtable"></span>                </div>                <div class="chart" v-bind:id="id" v-show="sign==1" ></div>            </div>',
        data: function () {
            return {id: "chartElex" + Math.ceil(1e3 * Math.random()), chart: null, sign: 1}
        },
        methods: {
            refresh: function () {
                var e = this;
                this.option.color || (this.option.color = SiteConfig.chartColors), this.option.grid || (this.option.grid = {
                    left: 20,
                    right: 20,
                    bottom: 20,
                    containLabel: !0
                }), this.option.legend && (this.option.legend.top = this.option.legend.top ? this.option.legend.top : 10, this.option.legend.left = this.option.legend.left ? this.option.legend.left : 20), this.option.title && (this.option.title.textStyle = {fontSize: 14}), this.option.calculable || (this.option.calculable = !0), setTimeout(function () {
                    e.chart = echarts.init(document.getElementById(e.id)), e.chart.setOption(e.option)
                }, 500)
            }, toggle: function (e) {
                this.sign = e
            }
        },
        mounted: function () {
        },
        watch: {
            option: function (e, t) {
                this.refresh()
            }
        }
    })
}, function (e, t, i) {
    "use strict";
    Vue.component("chart-line", {
        props: {data: Object},
        template: '<div class="chart-wrap">                <div class="chart" v-bind:id="id" ></div>            </div>',
        data: function () {
            return {id: "chartLine" + Math.ceil(1e3 * Math.random()), chart: null}
        },
        methods: {
            refresh: function () {
                var e = this, t = [], i = [], a = !0, n = !1, o = void 0;
                try {
                    for (var l, r = this.data.y[Symbol.iterator](); !(a = (l = r.next()).done); a = !0) {
                        var s = l.value;
                        t.push(s.name), i.push({name: s.name, type: "line", barGap: 0, data: s.value})
                    }
                } catch (e) {
                    n = !0, o = e
                } finally {
                    try {
                        !a && r.return && r.return()
                    } finally {
                        if (n) throw o
                    }
                }
                var c = {
                    color: SiteConfig.chartColors,
                    grid: {left: 20, right: 20, bottom: 20, containLabel: !0},
                    title: {text: this.data.title, x: "center"},
                    legend: {top: 10, left: 20, data: t},
                    calculable: !0,
                    xAxis: [{type: "category", axisTick: {show: !1}, data: this.data.x}],
                    yAxis: [{type: "value"}],
                    series: i
                };
                setTimeout(function () {
                    e.chart = echarts.init(document.getElementById(e.id)), e.chart.setOption(c)
                }, 500)
            }, toggle: function (e) {
                this.sign = e
            }
        },
        mounted: function () {
        },
        watch: {
            data: function (e, t) {
                this.refresh()
            }
        }
    })
}, function (e, t, i) {
    "use strict";
    Vue.component("chart-bar", {
        props: {data: Object},
        template: '<div class="chart-wrap">                <div class="chart" v-bind:id="id" ></div>            </div>',
        data: function () {
            return {id: "chartBar" + Math.ceil(1e3 * Math.random()), chart: null}
        },
        methods: {
            refresh: function () {
                var e = this, t = [], i = [], a = !0, n = !1, o = void 0;
                try {
                    for (var l, r = this.data.y[Symbol.iterator](); !(a = (l = r.next()).done); a = !0) {
                        var s = l.value;
                        t.push(s.name), i.push({name: s.name, type: "bar", barGap: 0, data: s.value})
                    }
                } catch (e) {
                    n = !0, o = e
                } finally {
                    try {
                        !a && r.return && r.return()
                    } finally {
                        if (n) throw o
                    }
                }
                var c = {
                    color: SiteConfig.chartColors,
                    grid: {left: 20, right: 20, bottom: 20, containLabel: !0},
                    title: {text: this.data.title, x: "center"},
                    legend: {top: 10, left: 20, data: t},
                    calculable: !0,
                    xAxis: [{type: "category", axisTick: {show: !1}, data: this.data.x}],
                    yAxis: [{type: "value"}],
                    series: i
                };
                setTimeout(function () {
                    e.chart = echarts.init(document.getElementById(e.id)), e.chart.setOption(c)
                }, 500)
            }, toggle: function (e) {
                this.sign = e
            }
        },
        mounted: function () {
        },
        watch: {
            data: function (e, t) {
                this.refresh()
            }
        }
    })
}, function (e, t, i) {
    "use strict";
    Vue.component("chart-pie", {
        props: {data: Object},
        template: '<div class="chart-wrap">                <div class="chart" v-bind:id="id" ></div>            </div>',
        data: function () {
            return {id: "chartPie" + Math.ceil(1e3 * Math.random()), chart: null}
        },
        methods: {
            refresh: function () {
                var e = this, t = [], i = !0, a = !1, n = void 0;
                try {
                    for (var o, l = this.data.y[Symbol.iterator](); !(i = (o = l.next()).done); i = !0) {
                        var r = o.value;
                        t.push(r.name)
                    }
                } catch (e) {
                    a = !0, n = e
                } finally {
                    try {
                        !i && l.return && l.return()
                    } finally {
                        if (a) throw n
                    }
                }
                var s = {
                    color: SiteConfig.chartColors,
                    grid: {left: 20, right: 20, bottom: 20, containLabel: !0},
                    title: {text: this.data.title, x: "center"},
                    legend: {top: 10, left: 10, orient: "vertical", data: t},
                    series: {
                        name: "",
                        type: "pie",
                        radius: "55%",
                        center: ["50%", "60%"],
                        data: this.data.y,
                        itemStyle: {emphasis: {shadowBlur: 10, shadowOffsetX: 0, shadowColor: "rgba(0, 0, 0, 0.5)"}}
                    }
                };
                setTimeout(function () {
                    e.chart = echarts.init(document.getElementById(e.id)), e.chart.setOption(s)
                }, 500)
            }, toggle: function (e) {
                this.sign = e
            }
        },
        mounted: function () {
        },
        watch: {
            data: function (e, t) {
                this.refresh()
            }
        }
    })
}, function (e, t, i) {
    "use strict";
    Vue.component("info-win", {
        props: {point: Object, title: ""},
        template: '<div id="mapWindow"><slot></slot></div>',
        data: function () {
            return {opts: {width: 400, height: 300, title: ""}, bmap: null, point: null}
        },
        methods: {
            show: function () {
                var e = document.getElementById("mapWindow");
                this.opts.title = this.title ? this.title : "信息框";
                var t = new BMap.InfoWindow('<div id="mapWinContent"></div>', this.opts),
                    i = new BMap.Point(this.point.lng, this.point.lat);
                this.bmap.openInfoWindow(t, i), setTimeout(function () {
                    document.getElementById("mapWinContent").appendChild(e)
                }, 200)
            }
        },
        mounted: function () {
            this.$parent.$winComponent = this
        },
        watch: {
            point: function (e, t) {
                this.point = e, this.show()
            }
        }
    }), Vue.component("chart-map", {
        props: {mapstyle: Object, markers: [], center: {}, zoom: Number},
        template: '<div style="width:100%;height:110%;border:solid 1px blue;">                    <div style="width:100%;height:100%;border:solid 1px blue;" v-bind:id="id"></div>                    <slot></slot>                </div>',
        data: function () {
            return {
                id: "chartMap" + Math.ceil(1e3 * Math.random()),
                chart: null,
                bmap: null,
                winComponent: null,
                markerAll: []
            }
        },
        methods: {
            setCenter: function (e, t) {
                this.bmap.setCenter(new BMap.Point(e, t))
            }, clearMarkerAll: function () {
                var e = !0, t = !1, i = void 0;
                try {
                    for (var a, n = this.markerAll[Symbol.iterator](); !(e = (a = n.next()).done); e = !0) {
                        var o = a.value;
                        this.bmap.removeOverlay(o)
                    }
                } catch (e) {
                    t = !0, i = e
                } finally {
                    try {
                        !e && n.return && n.return()
                    } finally {
                        if (t) throw i
                    }
                }
                this.markerAll.length = 0
            }
        },
        created: function () {
            this.mapstyle || (this.mapstyle = SiteConfig.mapStyle)
        },
        mounted: function () {
            var e = this, t = document.getElementById(this.id);
            this.chart = echarts.init(t);
            var i = {bmap: {center: [104.114129, 37.550339], zoom: 5, roam: !0, mapStyle: this.mapstyle}};
            this.chart.setOption(i, !0), this.bmap = this.chart.getModel().getComponent("bmap").getBMap(), this.$winComponent.bmap = this.bmap, this.bmap.addEventListener("zoomend", function (t) {
                var i = e.bmap.getZoom();
                e.$emit("on-zoom", i)
            })
        },
        watch: {
            markers: function (e, t) {
                var i = this, a = this, n = !0, o = !1, l = void 0;
                try {
                    for (var r, s = e[Symbol.iterator](); !(n = (r = s.next()).done); n = !0) {
                        var c, d = r.value;
                        !function (e) {
                            c = null, e.icon && "" != e.icon && (c = new BMap.Icon(e.icon, new BMap.Size(42, 42), {}));
                            var t = new BMap.Point(e.lng, e.lat), n = new BMap.Marker(t, {icon: c}), o = null;
                            if (e.text && "" != e.text) {
                                var l = 5, r = 4;
                                c && (l = 12, r = 10), o = new BMap.Label(e.text, {offset: new BMap.Size(l, r)}), o.setStyle({
                                    background: "none",
                                    border: "none"
                                })
                            }
                            o && n.setLabel(o), n.addEventListener("click", function (t) {
                                a.$emit("click-marker", e)
                            }), i.bmap.addOverlay(n), i.markerAll.push(n)
                        }(d)
                    }
                } catch (e) {
                    o = !0, l = e
                } finally {
                    try {
                        !n && s.return && s.return()
                    } finally {
                        if (o) throw l
                    }
                }
            }, center: function (e, t) {
                this.setCenter(e.lng, e.lat)
            }, zoom: function (e, t) {
                this.bmap.setZoom(e)
            }
        }
    })
}, function (e, t, i) {
    "use strict";
    Vue.component("selcity", {
        props: {seloption: []},
        template: '<el-cascader\n                :options="options"\n                v-model="seloption"\n                @active-item-change="handleItemChange"\n                @change="handleChange"\n                :props="props"\n            ></el-cascader>',
        data: function () {
            return {options: [], props: {label: "label", children: "cities", value: "value"}, isInitLoaded: !1}
        },
        methods: {
            handleChange: function (e) {
                this.seloption = e, this.$emit("onchange", e)
            }, handleItemChange: function (e) {
                if (1 == e.length) {
                    var t = void 0, i = !0, a = !1, n = void 0;
                    try {
                        for (var o, l = this.options[Symbol.iterator](); !(i = (o = l.next()).done); i = !0) {
                            var r = o.value;
                            if (r.label == e[0]) {
                                t = r;
                                break
                            }
                        }
                    } catch (e) {
                        a = !0, n = e
                    } finally {
                        try {
                            !i && l.return && l.return()
                        } finally {
                            if (a) throw n
                        }
                    }
                    t && this.loadOptionChilds(t, "city")
                } else if (2 == e.length) {
                    var s = void 0, c = !0, d = !1, h = void 0;
                    try {
                        for (var u, p = this.options[Symbol.iterator](); !(c = (u = p.next()).done); c = !0) {
                            var m = u.value;
                            if (m.label == e[0]) {
                                s = m;
                                break
                            }
                        }
                    } catch (e) {
                        d = !0, h = e
                    } finally {
                        try {
                            !c && p.return && p.return()
                        } finally {
                            if (d) throw h
                        }
                    }
                    if (s) {
                        var f = void 0, g = !0, v = !1, b = void 0;
                        try {
                            for (var y, x = s.cities[Symbol.iterator](); !(g = (y = x.next()).done); g = !0) {
                                var k = y.value;
                                if (k.label == e[1]) {
                                    f = k;
                                    break
                                }
                            }
                        } catch (e) {
                            v = !0, b = e
                        } finally {
                            try {
                                !g && x.return && x.return()
                            } finally {
                                if (v) throw b
                            }
                        }
                        f && this.loadOptionChilds(f, "district")
                    }
                }
            }, loadOptionChilds: function (e, t) {
                if (e && !e.cities.length) {
                    var i = "district" != t ? [] : null;
                    this.loadCitys(e.label, t).success(function (t) {
                        t.data.forEach(function (t) {
                            e.cities.push({label: t.name, value: t.name, cities: i})
                        })
                    })
                }
            }, loadCitys: function (e, t) {
                return HttpUtil.get("Zone/Child", {parentName: e, level: t})
            }, asyInit: function () {
                var e = this, t = [];
                this.seloption[1] && t.push(this.loadCitys(this.seloption[0], "city")), this.seloption[2] && t.push(this.loadCitys(this.seloption[1], "district")), HttpUtil.$whenfuc(t).success(function (t) {
                    if (t[0]) {
                        var i = e.options.find(function (t) {
                            return t.value == e.seloption[0]
                        });
                        if (i && t[0].data.forEach(function (e) {
                            i.cities.push({label: e.name, value: e.name, cities: []})
                        }), t[1]) {
                            var a = i.cities.find(function (t) {
                                return t.value == e.seloption[1]
                            });
                            a && t[1].data.forEach(function (e) {
                                a.cities.push({label: e.name, value: e.name})
                            })
                        }
                    }
                })
            }
        },
        created: function () {
            var e = this;
            this.loadCitys("中国", "province").success(function (t) {
                t.data.forEach(function (t) {
                    e.options.push({label: t.name, value: t.name, cities: []})
                })
            })
        },
        watch: {
            seloption: function (e, t) {
                var i = this;
                this.isInitLoaded || setTimeout(function () {
                    i.asyInit(), i.isInitLoaded = !0
                }, 500)
            }
        }
    })
}, function (e, t, i) {
    "use strict";
    Vue.component("site-tab", {
        props: {newtab: Object, max: Number},
        template: '<div id="site-tab">\n                <el-tabs v-model="tabName" type="card" closable  @tab-remove="removeTab">\n            <el-tab-pane\n                        v-for="(item, index) in tabs"\n                        :key="item.name"\n                        :label="item.title"\n                        :name="item.name">   <span slot="label"><i class="el-icon-refresh" @click="refreshTab(item)"></i> {{item.title}}</span>      \n                      <iframe :id="item.name" :src="item.url" v-bind:style="{height:height+\'px\'}"></iframe>\n                    </el-tab-pane>\n                </el-tabs>\n                <iframe id="ifrDialog" :src="dialogUrl" v-bind:style="{height:(height+50)+\'px\'}" v-show="isDialogVib" >\n                </iframe>\n                <el-button id="btnClose" size="mini" class="dClose" icon="el-icon-close" circle \n                        v-show="isDialogVib" \n                        @click="isDialogVib=false">\n                </el-button>\n            </div>',
        data: function () {
            return {height: "500", tabName: "tabName0", tabs: [], count: 0, isDialogVib: !1, dialogUrl: ""}
        },
        methods: {
            addTab: function (e) {
                this.isDialogVib = !1;
                var t = this.tabs.find(function (t) {
                    return t.title == e.title
                });
                if (t) return void (this.tabName = t.name);
                var i = this.max || 4, a = "tabName" + this.count++;
                this.tabs.length == i && this.tabs.shift(), this.tabs.push({
                    name: a,
                    title: e.title,
                    url: e.url
                }), this.tabName = a
            }, removeTab: function (e) {
                var t = this.tabs.filter(function (t) {
                    return t.name !== e
                });
                return this.tabs = t, this.tabs.length > 0 && (this.tabName = this.tabs[this.tabs.length - 1].name), !1
            }, getCurrContent: function () {
                return document.getElementById(this.tabName).contentWindow
            }, openDialog: function (e) {
                this.isDialogVib = !0, this.dialogUrl = e
            }, closeDialog: function () {
                this.isDialogVib = !1
            }, onresize: function () {
                this.height = document.body.offsetHeight - 108
            }, refreshTab: function (e) {
                var item = {};
                var t = this.tabs.filter(function (t) {
                    if (t.name == e.name) {
                        item = t
                    }
                    return t.name !== e.name
                });
                this.tabs = t, this.tabs.length > 0 && (this.tabName = this.tabs[this.tabs.length - 1].name), !1
                const loading = this.$loading({
                    lock: true,
                    text: 'Loading',
                    spinner: 'el-icon-loading',
                    background: 'rgba(0, 0, 0, 0.7)'
                });
                setTimeout(() => {

                    this.tabs.push(item)
                    this.tabName = item.name
                    loading.close();
                }, 0);

            }
        },
        created: function () {
            this.$nextTick(function () {
                this.height = document.body.offsetHeight - 108
            }), "" != this.newtab.url && this.addTab(this.newtab)
        },
        mounted: function () {
        },
        watch: {
            newtab: function (e, t) {
                this.addTab(e)
            }
        }
    })
}, function (e, t, i) {
    "use strict";
    Vue.component("edit-elescheme", {
        props: {schemeId: Number},
        template: '<el-form ref="form" label-width="80px">                <el-form-item label="方案名称">                    <el-input v-model="name"></el-input>                </el-form-item>                <el-form-item label="谷时间段1">                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="gtime1b" style="width: 100%;"></el-time-picker>                    </el-col>                    <el-col class="line" :span="2">-</el-col>                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="gtime1e" style="width: 100%;"></el-time-picker>                    </el-col>                </el-form-item>                <el-form-item label="谷时间段2">                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="gtime2b" style="width: 100%;"></el-time-picker>                    </el-col>                    <el-col class="line" :span="2">-</el-col>                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="gtime2e" style="width: 100%;"></el-time-picker>                    </el-col>                </el-form-item>                <el-form-item label="平时间段1">                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="ptime1b" style="width: 100%;"></el-time-picker>                    </el-col>                    <el-col class="line" :span="2">-</el-col>                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="ptime1e" style="width: 100%;"></el-time-picker>                    </el-col>                </el-form-item>                <el-form-item label="平时间段2">                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="ptime2b" style="width: 100%;"></el-time-picker>                    </el-col>                    <el-col class="line" :span="2">-</el-col>                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="ptime2e" style="width: 100%;"></el-time-picker>                    </el-col>                </el-form-item>                <el-form-item label="峰时间段1">                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="ftime1b" style="width: 100%;"></el-time-picker>                    </el-col>                    <el-col class="line" :span="2">-</el-col>                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="ftime1e" style="width: 100%;"></el-time-picker>                    </el-col>                </el-form-item>                <el-form-item label="峰时间段2">                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="ftime2b" style="width: 100%;"></el-time-picker>                    </el-col>                    <el-col class="line" :span="2">-</el-col>                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="ftime2e" style="width: 100%;"></el-time-picker>                    </el-col>                </el-form-item>                <el-form-item label="尖时间段1">                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="jtime1b" style="width: 100%;"></el-time-picker>                    </el-col>                    <el-col class="line" :span="2">-</el-col>                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="jtime1e" style="width: 100%;"></el-time-picker>                    </el-col>                </el-form-item>                <el-form-item label="尖时间段2">                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="jtime2b" style="width: 100%;"></el-time-picker>                    </el-col>                    <el-col class="line" :span="2">-</el-col>                    <el-col :span="11">                        <el-time-picker type="fixed-time" placeholder="选择时间" v-model="jtime2e" style="width: 100%;"></el-time-picker>                    </el-col>                </el-form-item>                <el-form-item label="谷电价">                    <el-col :span="9">                        <el-input v-model="gprice"></el-input>                    </el-col>                    <el-col class="line" :span="6">平电价</el-col>                    <el-col :span="9">                        <el-input v-model="pprice"></el-input>                    </el-col>                </el-form-item>                <el-form-item label="峰电价">                    <el-col :span="9">                        <el-input v-model="fprice"></el-input>                    </el-col>                    <el-col class="line" :span="6">尖电价</el-col>                    <el-col :span="9">                        <el-input v-model="jprice"></el-input>                    </el-col>                </el-form-item>                <el-form-item label="站点需量">                    <el-col :span="9">                        <el-input v-model="siteqa"></el-input>                    </el-col>                    <el-col class="line" :span="6">需量电价</el-col>                    <el-col :span="9">                        <el-input v-model="qaprice"></el-input>                    </el-col>                </el-form-item>                <el-form-item label="站点容量">                    <el-col :span="9">                        <el-input v-model="siteca"></el-input>                    </el-col>                    <el-col class="line" :span="6">容量电价</el-col>                    <el-col :span="9">                        <el-input v-model="caprice"></el-input>                    </el-col>                </el-form-item>                <el-form-item>                    <el-button type="primary" @click="onSave" size="mini">保存</el-button>                </el-form-item>            </el-form>',
        data: function () {
            return {
                name: "",
                gtime1b: "",
                gtime1e: "",
                gtime2b: "",
                gtime2e: "",
                ptime1b: "",
                ptime1e: "",
                ptime2b: "",
                ptime2e: "",
                ftime1b: "",
                ftime1e: "",
                ftime2b: "",
                ftime2e: "",
                jtime1b: "",
                jtime1e: "",
                jtime2b: "",
                jtime2e: "",
                gprice: 0,
                pprice: 0,
                fprice: 0,
                jprice: 0,
                siteqa: 0,
                qaprice: 0,
                siteca: 0,
                caprice: 0
            }
        },
        methods: {
            onSave: function () {
                alert(this.siteca)
            }
        }
    })
}]);
